package Oefening31;

import java.io.*;


public class GastenBoekManager{
	
	public void leesGastenBoek() throws Exception{
		
		GastenBoek boek = new GastenBoek();
		
		
		File file = new File("h:\\gastenboek.dat");
		FileInputStream fis = new FileInputStream(file);
		ObjectInputStream ois = new ObjectInputStream(fis);
		try{
		System.out.println("\n***** uitlezen van gastenboek \n");
		
			Object obj = null;
			while((obj = ois.readObject()) !=null){
				if (obj instanceof GastenBoekEntry){
					//System.out.println(obj);
					boek.addEntry((GastenBoekEntry) obj );
				}
			}
		}catch (EOFException e){
			
		}finally{	
			
		ois.close();
		}
		
		for(int i =boek.gastenBoek.size()-1;i>=0;i--){
			System.out.println(boek.gastenBoek.get(i));
		}
		System.out.println("\n**********************");
	}
	
	public void schrijfGastenBoek(String user, String msg) throws Exception{
		
		//file uitlezen en in arraylist steken
		 
		GastenBoek boek = new GastenBoek();
		
		
		File file = new File("h:\\gastenboek.dat");
		
		try{
		//System.out.println("\n***** check schrijf\n");
		FileInputStream fis = new FileInputStream(file);
		ObjectInputStream ois = new ObjectInputStream(fis);
			Object obj = null;
			while((obj = ois.readObject()) !=null){
				if (obj instanceof GastenBoekEntry){
					//System.out.println(obj);
					boek.addEntry((GastenBoekEntry) obj );
				}
			}
			ois.close();
		}catch (EOFException e){
			//System.out.println("\n\n ***Einde van gastenboek bereikt!***");
		}finally{	
			
		
		} 
		
		
		
		
		//entry toevoegen aan arraylist en wegschrijven
		
		//File file = new File("h:\\jpf/gastenboek.txt");
		FileOutputStream fos = new FileOutputStream(file);
		ObjectOutputStream oos = new ObjectOutputStream(fos);
		boek.addEntry(new GastenBoekEntry(user, msg));
		
		
		/*System.out.println("\n\n ***alle entries***");
		boek.showEntries();
		System.out.println("\n\n ***Einde alle entries***");
		
		System.out.println(boek.gastenBoek);*/
		
		
		for(int i=0; i < boek.gastenBoek.size();i++){
			oos.writeObject(boek.gastenBoek.get(i));
		}
			
			
		oos.close();
		
	}

}
